USE SERVICIOS
GO
--SP_HELPTEXT [SER_S_Contrato_Listado]
--SP_HELPTEXT [SER_S_Contrato]
--SP_HELPTEXT [SER_I_Contrato]
--SP_HELPTEXT [SER_U_Contrato]
GO
IF OBJECT_ID(N'dbo.[SER_S_Contrato_Listado]',N'P') IS NOT NULL
   DROP PROCEDURE [SER_S_Contrato_Listado];
GO
IF OBJECT_ID(N'dbo.[SER_S_Contrato]',N'P') IS NOT NULL
   DROP PROCEDURE [SER_S_Contrato];
GO
IF OBJECT_ID(N'dbo.[SER_I_Contrato]',N'P') IS NOT NULL
   DROP PROCEDURE [SER_I_Contrato];
GO
IF OBJECT_ID(N'dbo.[SER_U_Contrato]',N'P') IS NOT NULL
   DROP PROCEDURE [SER_U_Contrato];
GO
/**********************************************************
CONCESIONARIOS
	Creado por : MGH
	Modificado por : RGD
	Fechas		: 22/02/2011 - SP Inicial
	Objetivo   	: Listado de contratos
***********************************************************/
CREATE PROCEDURE [SER_S_Contrato_Listado]
	@TX_NUMERO	VARCHAR(25),
	@NO_RUC VARCHAR(15)
AS 
BEGIN
SET NOCOUNT ON

	SELECT	CON.CO_CONTRATO,
			CON.TX_NUMERO,
			UPPER(SER.TX_DESCRIPCION)AS TX_DESCRIPCION,
			JUR.NO_RUC,
			PER.NO_NOMBRE1,
			CON.SS_MONTO,
			CON.NO_ESTADO,
			CASE CON.NO_ESTADO
				WHEN 'PE' THEN 'PENDIENTE'
				WHEN 'FR' THEN 'FIRMADO'
				WHEN 'AN' THEN 'ANULADO'
			END AS ESTADO,
			ISNULL(CON.Tx_RutaContrato,'') AS Tx_RutaContrato
	FROM T_SER_ESI_Contrato CON WITH(NOLOCK)
	INNER JOIN T_SER_ESI_Servicio SER WITH(NOLOCK) ON CON.CO_SERVICIO=SER.CO_SERVICIO
	INNER JOIN T_Juridica JUR WITH(NOLOCK) ON CON.CO_JURIDICO=JUR.CO_JURIDICO
	INNER JOIN T_Persona PER WITH(NOLOCK) ON JUR.CO_PERSONA=PER.CO_PERSONA
	WHERE	CON.TX_NUMERO LIKE @TX_NUMERO + '%' AND
			JUR.NO_RUC LIKE @NO_RUC + '%'

SET NOCOUNT OFF
END
GO
/**********************************************************
CONCESIONARIOS
	Creado por : RGD
	Modificado por : RGD
	Fechas		: 22/02/2011 - SP Inicial
	Objetivo   	: Lista contrato para carga de objeto
***********************************************************/
CREATE PROCEDURE [SER_S_Contrato]
       @Co_Contrato int
AS 
BEGIN
SET NOCOUNT ON

	SELECT  Co_Contrato, 
			Co_Juridico,
			Co_Servicio,
			Tx_Numero,
			Fe_Inicio,
			Fe_Fin,
            ISNULL(Tx_RutaContrato,'') AS Tx_RutaContrato,
			Ss_Monto,
			ISNULL(Tx_Observacion,'') AS Tx_Observacion,
			No_Estado
	FROM [T_SER_ESI_Contrato] WITH (NOLOCK)
	WHERE Co_Contrato=@Co_Contrato

SET NOCOUNT OFF
END
GO
/**********************************************************
CONCESIONARIOS
	Creado por : MGH
	Modificado por : RGD
	Fechas		: 22/02/2011 - SP Inicial
	Objetivo   	: Inserta contratos
***********************************************************/
CREATE PROCEDURE [SER_I_Contrato]
       @Co_Juridico int,
       @Co_Servicio int,
       @Tx_Numero varchar(25),
       @Fe_Inicio datetime,
       @Fe_Fin datetime,
       @Tx_RutaContrato varchar(255),
       @Ss_Monto money,
       @Tx_Observacion varchar(250)
AS 
BEGIN
SET NOCOUNT ON

	IF LEN(LTRIM(RTRIM(@Tx_RutaContrato)))=0
		SET @Tx_RutaContrato = NULL
	IF LEN(LTRIM(RTRIM(@Tx_Observacion)))=0
		SET @Tx_Observacion = NULL

	INSERT INTO [T_SER_ESI_Contrato]
           ([Co_Juridico], [Co_Servicio], [Tx_Numero], [Fe_Inicio], [Fe_Fin],
            [Tx_RutaContrato], [Ss_Monto], [Tx_Observacion], [No_Estado])
     VALUES
           (@Co_Juridico, @Co_Servicio, @Tx_Numero, @Fe_Inicio, @Fe_Fin,
           @Tx_RutaContrato, @Ss_Monto, @Tx_Observacion, 'PE' )

	SELECT @@IDENTITY AS CO_CONTRATO

SET NOCOUNT OFF
END
GO
/**********************************************************
CONCESIONARIOS
	Creado por : MGH
	Modificado por : RGD
	Fechas		: 22/02/2011 - SP Inicial
	Objetivo   	: Modifica contratos
***********************************************************/
CREATE PROCEDURE [SER_U_Contrato]
	@Co_Contrato int,
	@Co_Juridico int,
    @Co_Servicio int,
    @Tx_Numero varchar(25),
    @Fe_Inicio datetime,
    @Fe_Fin datetime,
    @Tx_RutaContrato varchar(255),
    @Ss_Monto money,
    @Tx_Observacion varchar(250)
AS 
BEGIN
SET NOCOUNT ON

	IF LEN(LTRIM(RTRIM(@Tx_Observacion)))=0
		SET @Tx_Observacion = NULL

	UPDATE [T_SER_ESI_Contrato]
    SET [Co_Juridico] = @Co_Juridico,
		[Co_Servicio] = @Co_Servicio,
		[Tx_Numero] = @Tx_Numero,
		[Fe_Inicio] = @Fe_Inicio,
		[Fe_Fin] = @Fe_Fin,
        [Tx_RutaContrato] = @Tx_RutaContrato,
		[Ss_Monto] = @Ss_Monto, 
		[Tx_Observacion] = @Tx_Observacion
	WHERE [Co_Contrato] = @Co_Contrato

SET NOCOUNT OFF
END